// pages/main/main.js
import {channels,getList} from '../../api/user'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    channels:[],
    active:0,
    pullFlag:true,
    refresherFlag:1,
    getList:{
      channel_id:0,
      with_top:1,
      timestamp:null
    },
    list:[],
    scrollType:false,
    times:Math.round(new Date())
  },

  contentClick (e) {
    const id = e.currentTarget.dataset.id
 
   wx.navigateTo({
    url:'/pages/info/info?id='+id
   })
   
  },










  //获取tap栏信息
  async channels ()  {
    const res =  await channels()
    this.setData({
      channels:res.data.channels,
    })
    // console.log(res.data.channels);
    this.selectComponent('#tabs').resize()
  },
  


  //获取内容数据
 async initList() { 
  // 设置触底节流
  this.setData({
    scrollType:true
  })
  // 获取时间戳 精确到毫秒
  const timestamp = Math.round(new Date())
  this.setData({
    'getList.timestamp': timestamp
  })
 const {data:{results}}= await getList(this.data.getList)
 this.setData({
 list: [...this.data.list,...results],
 scrollType:false
})
  // console.log(results);
 },
 


 // 切换tap栏事件
  onChange (e) {
    const channel_id= e.detail.name
    this.setData({
      list:[],
      'getList.channel_id': channel_id
    })
    setTimeout(() => {
    this.initList()
    }, 400);
  },
   


  // 下拉事件
 pullScroll () {
    setTimeout( async () => {
      try {
        this.setData({
          list:[]
        })
        await this.initList()

        this.setData({ 
          refresherFlag:2,
        })
        setTimeout(() => {
          this.setData({ 
            pullFlag:false,
            refresherFlag:1
          })
        }, 300);

      } catch (error) {
        this.setData({ 
          refresherFlag:0,
        })
        setTimeout(() => {
          this.setData({ 
            pullFlag:false,
            refresherFlag:1
          })
        }, 300);
      }  
    }, 200);
  },
  
  // 滑动到底部事件
  bottomScroll () {
    // console.log('下拉')
    if(this.data.scrollType) return
  
      this.initList()
      
  },



  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.channels() 
    this.initList()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})